C APIs in Extension and Extensible Languages
نویسندگان
چکیده
Scripting languages are used in conjuction with C code in two ways: as extension languages, where the interpreter is embedded as a library into an application; or as extensible languages, where the interpreter loads C code as add-on modules. These two scenarios share many similarities, as in both of them two-way communication of code and data needs to take place. However, the differences between them impose design tradeoffs that affect the C API that bridges the two languages, often making a scripting language more suitable for extending than embedding, or vice-versa. This paper discusses how these tradeoffs are handled in the APIs of popular scripting languages, and the impact on their use as embedded or extensible languages.
منابع مشابه
Extensible Debuggers for Extensible Languages
Language extension enables integration of new language constructs without invasive changes to a base language (e. g., C). Such extensions help to build more reliable software by using proper domain-specific abstractions. Language workbenches significantly reduce the effort forions. Language workbenches significantly reduce the effort for building such extensible languages by synthesizing a full...
متن کاملResource Management for Safe Languages
Safe programming languages offer safety and security features making them attractive for developing extensible environments on a wide variety of platforms, ranging from large servers all the way down to hand-held devices. Extensible environments facilitate dynamic hosting of a variety of potentially untrusted codes. This requires mechanisms to guarantee isolation among hosted applications and t...
متن کاملMulti-Level Debugging for Extensible Languages
Multi-level debugging of extensible languages requires lifting program state to the extension level while translating stepping commands to the base-level. Implementing such bi-directional mappings is feasible for languages with a low abstraction level (e. g., C). However, language workbenches support language stacking with a bottom-up approach from lowto high-level (e. g., domain-specific) lang...
متن کاملA Tool for Constructing Safe Extensible C++ Systems
The boundary between application and system is becoming increasingly permeable. Extensible applications, such as web browsers, database systems, and operating systems, demonstrate the value of allowing end-users to extend and modify the behavior of what was formerly considered to be a static, inviolate system. Unfortunately, flexibility often comes with a cost: systems unprotected from misbehav...
متن کاملEvaluation of Anticancer Effects Induced by Apis mellifera Venom on Breast Cancer Cell Line
Background: In recent years, the number of people with cancer has increased. For this reason, different drugs have been suggested for the treatment of cancer, but none of them has resulted in complete remission. Many bio-toxins are biologically active compounds with anticancer activity. In the meantime, bee venom (BV) has a potent anti cancer and tumor effects. The aim of present study is evalu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. UCS
دوره 13 شماره
صفحات -
تاریخ انتشار 2007